1. Field of the Invention
This invention relates to systems involved in the storage and retrieval of information, and host devices particularly of messages from a plurality of host devices.
2. Summary of the Invention
A message storage system is used to store incoming messages for later retrieval by various host processors for purposes such as communications and database processing. It is comprised of two main components: the message storage facility and the storage facility manager. The message storage facility is where the actual messages are stored and also where messages are initially inputted and retrieved. The second component, the storage facility manager, coordinates the message storage among several message storage facilities and external storage devices, such as disk drives. The storage facility manager ensures that messages are always assigned a unique name by moving messages and tracking messages around the system as any given message storage facility approaches its storage capacity.
In operation, a message storage system assigns unique names to messages as they come into the system without requiring that a message storage facility query the entire system for an available name. The method of storing messages inherently ensures that a unique name will be assigned to each message so that no confusion can arise when a request to retrieve a message is presented by a host processor, such as a communications or database device.
3. Background Art
The problem of assigning unique names is usually encountered in distributed databases. When an object is created at one site, it must be given a name which is unique throughout the entire database. One way in which this has been done was to query or poll every other site in the system to ensure that a name to be assigned was not in use. Methods accomplished this technique by either global locking or by a static partitioning of the name space.
By globally locking all of the names, the creator of the new message is free to choose any new name. Further, if a message is moved from one location to another, information about it need only be kept at its current location, since future namings will entail a query at all sites in such a system. The price of this freedom-in-name assignment is the time and expense of stopping the assigning of names at all sites every time any one site wants to pick a new name and all sites must be queried.
Another method which avoids the system overhead costs is to create names by taking all or part of a given message and concatenating it with the name of the site at which it has been created, i.g. for a message Sam stored at a site Houston, using the name Sam.Houston. The drawback to this method is that when the message named "Sam.Houston," is relocated in the database to a location such as Dallas, a record of that name must be kept in Houston noting its existence and its current location in Dallas. Otherwise, at some later date, another Sam might be created at Houston, violating the uniqueness requirement of such a system.
Therefore, an object is to assign individual or unique names to objects or messages with freedom and ease of name assignment without having to consult any other sites in the system. A further object is the ability to move messages or objects to other sites without having to maintain a record of the name to ensure no name duplication takes place.